
https://leetcode.cn/problems/jBjn9C/description/?envType=list&envId=AZtYfE8a
//class KthLargest {
//public:
//    KthLargest(int k, vector<int>& nums) {
//        _k = k;
//        for (auto& x : nums) {
//            pq.push(x);
//            if (pq.size() > _k) {
//                pq.pop();
//            }
//        }
//    }
//
//
//    int add(int val) {
//        pq.push(val);
//        if (pq.size() > _k) {
//            pq.pop();
//        }
//        return pq.top();
//    }
//private:
//    int _k;
//    priority_queue<int, vector<int>, greater<int>> pq;
//};

/**
 * Your KthLargest object will be instantiated and called as such:
 * KthLargest* obj = new KthLargest(k, nums);
 * int param_1 = obj->add(val);
 */

https://leetcode.cn/problems/last-stone-weight/description/
//class Solution {
//public:
//    int lastStoneWeight(vector<int>& stones) {
//        priority_queue<int> pq;
//        for (auto& x : stones) {
//            pq.push(x);
//        }
//
//        while (pq.size() > 1) {
//            int a = pq.top();
//            pq.pop();
//            int b = pq.top();
//            pq.pop();
//
//            if (a > b) {
//                pq.push(a - b);
//            }
//        }
//        return pq.empty() ? 0 : pq.top();
//
//    }
//};